Skip to content

Conversation

@dannycjones
Copy link
Contributor

This change allows us to run our benchmark scripts in benchmark/ using the mock-mount-s3 binary, which presents a Mountpoint file system backed by an in-memory mock S3 client.

This change itself incorporates quite a few changes (which may have been better suited as separate commits). There are some changes to accommodate configuration of part sizes in mock-mount-s3, removal of throughput limits (which is useful for benchmarking!), and finally adding the configuration options to the benchmarking scripts.

This change does include some hardcoded objects being added to mock-mount-s3 which can accomodate the benchmarking scripts. This means that if the object keys change, the files will be created by FIO and "uploaded" / populated in memory, which probably isn't what you want.

Does this change impact existing behavior?

No, there are no changes to main Mountpoint code.

Does this change need a changelog entry? Does it require a version change?

No, no behavior changes new or existing.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests March 21, 2025 19:53 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:26 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 11, 2025 15:29 — with GitHub Actions Inactive
@dannycjones dannycjones requested a review from muddyfish April 11, 2025 15:32
@muddyfish
Copy link
Contributor

The Python bits look good to me, I don't have too much context on the Rust though

@dannycjones dannycjones requested review from a team and removed request for muddyfish April 29, 2025 10:02
@dannycjones dannycjones temporarily deployed to PR integration tests April 29, 2025 11:18 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests April 29, 2025 11:18 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests May 14, 2025 08:09 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests May 14, 2025 08:09 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests May 14, 2025 08:09 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests May 14, 2025 08:09 — with GitHub Actions Inactive
@dannycjones
Copy link
Contributor Author

@muddyfish could you take a look at this PR? We don't really have anyone specific with more context on the Rust bits.

@dannycjones dannycjones requested review from muddyfish and removed request for adpeace May 28, 2025 17:54
@dannycjones dannycjones force-pushed the add-mock-mount-s3-to-bench-scripts branch from e59221e to 34503c8 Compare June 13, 2025 13:40
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones temporarily deployed to PR integration tests June 13, 2025 13:40 — with GitHub Actions Inactive
@dannycjones dannycjones added this pull request to the merge queue Jun 13, 2025
Merged via the queue into awslabs:main with commit d283f71 Jun 13, 2025
28 checks passed
@dannycjones dannycjones deleted the add-mock-mount-s3-to-bench-scripts branch June 13, 2025 14:25
mansi153 pushed a commit to mansi153/mountpoint-s3 that referenced this pull request Jul 24, 2025
This change allows us to run our benchmark scripts in `benchmark/` using
the `mock-mount-s3` binary, which presents a Mountpoint file system
backed by an in-memory mock S3 client.

This change itself incorporates quite a few changes (which may have been
better suited as separate commits). There are some changes to
accommodate configuration of part sizes in `mock-mount-s3`, removal of
throughput limits (which is useful for benchmarking!), and finally
adding the configuration options to the benchmarking scripts.

This change does include some hardcoded objects being added to
`mock-mount-s3` which can accomodate the benchmarking scripts. This
means that if the object keys change, the files will be created by FIO
and "uploaded" / populated in memory, which probably isn't what you
want.

### Does this change impact existing behavior?

No, there are no changes to main Mountpoint code.

### Does this change need a changelog entry? Does it require a version
change?

No, no behavior changes new or existing.

---

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license and I agree to the terms of
the [Developer Certificate of Origin
(DCO)](https://developercertificate.org/).

---------

Signed-off-by: Daniel Carl Jones <[email protected]>
dannycjones added a commit to c-hagem/mountpoint-s3 that referenced this pull request Oct 9, 2025
This change allows us to run our benchmark scripts in `benchmark/` using
the `mock-mount-s3` binary, which presents a Mountpoint file system
backed by an in-memory mock S3 client.

This change itself incorporates quite a few changes (which may have been
better suited as separate commits). There are some changes to
accommodate configuration of part sizes in `mock-mount-s3`, removal of
throughput limits (which is useful for benchmarking!), and finally
adding the configuration options to the benchmarking scripts.

This change does include some hardcoded objects being added to
`mock-mount-s3` which can accomodate the benchmarking scripts. This
means that if the object keys change, the files will be created by FIO
and "uploaded" / populated in memory, which probably isn't what you
want.

### Does this change impact existing behavior?

No, there are no changes to main Mountpoint code.

### Does this change need a changelog entry? Does it require a version
change?

No, no behavior changes new or existing.

---

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license and I agree to the terms of
the [Developer Certificate of Origin
(DCO)](https://developercertificate.org/).

---------

Signed-off-by: Daniel Carl Jones <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants